package com.orangelife.utils;

import java.util.Date;

import com.orangelife.exception.AppBizException;


/**
 * 判断置顶时间是否在发布时间之内
 * @author zhr
 *
 */
public class ThinkTime {
	/**
	 * 判断置顶时间是否在发布时间之内
	 * @param releaseStTime 发布开始时间
	 * @param releaseEndTime 发布结束时间
	 * @param topStTime 置顶开始时间
	 * @param topEndTime 置顶结束时间
	 * @return
	 * @throws AppBizException 
	 */
	public static Boolean thinkTime(Date releaseStTime,Date releaseEndTime,Date topStTime,Date topEndTime) throws AppBizException {
		boolean s = false;
		
		
		if(releaseStTime!=null&&releaseEndTime!=null){
			if(!releaseStTime.before(releaseEndTime)){
				throw new AppBizException(000001, "发布开始时间不能大于发布结束时间");
			}else{
				s=true;
			}
		}
		
		if(releaseStTime!=null&&releaseEndTime!=null&&topStTime!=null&&topEndTime!=null){
			if(!topStTime.before(topEndTime)){
				throw new AppBizException(000001, "置顶开始时间不能大于置顶结束时间");
			}else{
				s=true;
			}
			 if(!(topStTime.before(releaseEndTime) && topStTime.after(releaseStTime))){
				 	throw new AppBizException(000001, "置顶开始时间不在发布开始时间和结束时间之间");
			    }else{
					s=true;
				}
			 if(!(topEndTime.before(releaseEndTime) && topEndTime.after(releaseStTime))){
				 throw new AppBizException(000001, "置顶结束时间不在发布开始时间和结束时间之间");
			    }else{
					s=true;
				}  
		}
		return s;
	}
}
